package interfaces;
import java.io.File;
import java.util.List;

import javax.swing.*;


public interface RepertoireInterface extends IPlugin {

      
	
        /**
         * Cette fonction permet de récupérer la fenêtre du plugin
         * Elle affiche le repertoire courant clické
         * @param f File
         * @return JScrollPane
         */
		JPanel getFrame(File f, List<PluginInterface> l);   
        
        /**
         * 
         * @param f File le fichier à lancer
         * @param l Liste<PluginInterface> liste des plugins présents
         */
        void runFile(File f,List<PluginInterface> l);
        
        /**
         * retourne le dernier fichier selectionné dans un repertoire
         * @return File repertoire courant ou null 
         */
        File getlastOpenedDir();
        
        /**
         * Permet la sauvegarde de tous les fichiers ouverts afin de les charger lors d'une importation 
         */
        void saveOpenedFiles();
        
        /**
         * 
         * charge la liste des pluginName-fileOpened et les lance avec leur plugin associé
         */
        void loadOpenedFile();
        
        
        /**
         * retourne le type d'affichage du plugin
         * exemple : "liste", "petite icon", ... etc. 
         * Attention le type d'affichage doit être unique pour chaque plugin 
         * c'est un identifiant.
         * @return String le type d'affichage
         */
        String getTypeAffichage();
        
}